package com.ruoyi.galaxy.vo.project;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.galaxy.vo.GalaxyApiResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * @author yeoman
 * @date 2025/4/10 18:13
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class GalaxyApiProjectDetailResponse extends GalaxyApiResponse {

    /**
     * 城市ID
     */
    private String cityId;

    /**
     * 城市名称
     */
    private String cityName;

    /**
     * 描述
     */
    private String description;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 入场时间描述
     */
    private String entryTimeDesc;

    /**
     * 商品图片
     */
    private String imgUrl;

    /**
     * 最低价
     */
    private String minPrice;

    /**
     * 最高价
     */
    private String maxPrice;

    /**
     * 商品详情
     */
    private String projectDetail;

    /**
     * 商品名称
     */
    private String projectName;

    /**
     * 商品编码
     */
    private String projectToken;

    /**
     * 商品id
     */
    private String projectId;

    /**
     * 受限制物品
     */
    private String restrictedItem;

    /**
     * 售卖状态
     */
    private String saleState;

    /**
     * 座位类型
     */
    private String seatType;

    /**
     * 分享图片
     */
    private String shareImg;

    /**
     * 分享标题
     */
    private String shareTitle;

    /**
     * 演出时间描述
     */
    private String showTimeDesc;

    /**
     * 站点地址
     */
    private String siteAddress;

    /**
     * 站点id
     */
    private String siteId;

    /**
     * 站点
     */
    private String siteName;

    /**
     * weibo分享文案
     */
    private String weiboShareContent;

    /**
     * 场次列表
     */
    private List<Event> eventVoList;

    @Data
    public static class Event {
        /**
         * 场次
         */
        private String eventCaption;

        /**
         * 场次编号
         */
        private String eventToken;

        /**
         * 商品名称
         */
        private String projectName;

        /**
         * 商品编号
         */
        private String projectToken;

        /**
         * 售卖状态
         */
        private Integer saleState;

        /**
         * 座位选择类型
         */
        private Integer seatSelectType;

        /**
         * 座位类型
         */
        private Integer seatType;

        /**
         * 已售罄 true 已售罄 false 未售罄
         */
        private Boolean sellOut;

        /**
         * 演出结束时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date showEndTime;

        /**
         * 演出时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date showTime;

        /**
         * 演出类型
         */
        private Integer showType;

        /**
         * 站点id
         */
        private String siteId;

        /**
         * 站点名称
         */
        private String siteName;

    }

}
